home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / applications / wp / write.lha / WRITE / WRITE.install < prev    next >
Encoding:
Text File  |  1995-01-04  |  29.2 KB  |  1,003 lines

  1. ;=============================================================================
  2. ; Installer SKRIPT für WRITE 3.1236 (04-Jan-95) © 1989 - 1995 by Tim Teulings
  3. ;=============================================================================
  4. ; Only Experts
  5.  
  6. (set @user-level 2
  7. )
  8.  
  9. (set DEMO TRUE
  10. )
  11.  
  12.  
  13. (if
  14.   (exists "ENV:WRITE.KEY"
  15.   )
  16. ;THEN
  17.  (
  18.    (set DEMO FALSE)
  19.  )
  20. ;END
  21. )
  22.  
  23. (if
  24.   (exists "WRITE.KEY"
  25.   )
  26. ;THEN
  27.   (
  28.     (set DEMO FALSE)
  29.   )
  30. ;END
  31. )
  32.  
  33.  
  34. (set @HOME-DIR (expandpath "")
  35. )
  36.  
  37. ;=============================================================================
  38. ; make sure we are running under a 2.04 ROM
  39.  
  40. (if (< (/ (getversion) 65536) 37)
  41.   (
  42.     (abort "WRITE läuft nur mit Kickstart 2.0 oder größer!")
  43.   )
  44. )
  45.  
  46. (message "\n\n"
  47.          "WRITE - Ein Texteditor © 1989-1995 von Tim Teulings\n"
  48.          "                                                   \n"
  49.          "Bei diesem Produkt handelt es sich um Shareware.   \n"
  50.          "Die Registrierungsgebühr beträgt 30DM.             \n"
  51.          "                                                   \n"
  52.          "Die nicht registrierte Version unterliegt ein paar \n"
  53.          "Einschränkungen, die es nicht erlauben größere     \n"
  54.          "Texte zu bearbeiten.                               \n"
  55.          "                                                   \n"
  56.          "Bitte lesen sie das Kapitel `Copyright' "
  57.          "der Anleitung."
  58. )
  59.  
  60. (welcome)
  61.  
  62. (set @default-dest "")
  63.  
  64. (onerror (
  65.  
  66.            (if (> @ioerr 0)
  67.  
  68.               (
  69.                 (message "\n"
  70.                          "FEHLER  @ioerr                            \n\n"
  71.                          "Ein Fehler ist aufgetreten.               \n\n"
  72.                          "Bitte informieren sie mich darüber.       \n"
  73.                          "Geben sie dabei genau an wann und unter   \n"
  74.                          "welchen Bedingungen der Fehler aufgetreten\n"
  75.                          "ist.                                      \n\n"
  76.                          "Danke.                                    "
  77.                 )
  78.               )
  79.            )
  80. )        )
  81.  
  82.  
  83. ;=============================================================================
  84. ; explain what we are all about...
  85.  
  86. (if
  87.   (exists "ENV:WRITE"
  88.   )
  89. ;THEN
  90.   (
  91.     (message "\n"
  92.              "Dieses Skript hat erkannt, daß sie WRITE bereits    \n"
  93.              "installiert haben und wird nun ihre Version auf den \n"
  94.              "neusten Stand zu bringen.                           \n"
  95.              "Dies bedeutet, daß ihre alten Konfigurationen, wenn \n"
  96.              "sie es wünschen, die Endung '.OLD' bekommen.        \n"
  97.              "Ansonsten befinden sie sich weiterhin im gleichen   \n"
  98.              "Verzeichnis.                                        \n"
  99.              "Vergewissern sie sich bevor sie sie wieder          \n"
  100.              "umbenennen, ob sie immernoch kompatibel sind.       \n"
  101.              "Sollten sie mir ihre Skripts und Konfigurationen    \n"
  102.              "schicken, so werde ich versuchen diese auf den      \n"
  103.              "neusten Stand zu halten und der nächsten Version    \n"
  104.              "beizulegen.                                         "
  105.     )
  106.  
  107.     (message "\n\n"
  108.              "ALLE ANDEREN ZU WRITE GEHÖRIGEN FILES WERDEN \n"
  109.              "ÜBERSCHRIEBEN. MACHEN SIE VORHER EIN BACKUP, \n"
  110.              "WENN SIE SICH NICHT SICHER SIND, OB...       "
  111.     )
  112.  
  113.     (set @REINSTALL TRUE)
  114.   )
  115. ;ELSE
  116.  
  117.   (set @REINSTALL FALSE)
  118.  
  119. ;END;
  120. )
  121.  
  122. (if (= @REINSTALL FALSE)
  123.   (
  124.     (if (askbool (prompt "\n\n"
  125.                          "Soll eine Test-Installation vorgenommen werden?  \n\n"
  126.                          "Dies bedeutet, daß nur ein paar Pfade und Assigns\n"
  127.                          "auf die vorliegenden Daten gelegt werden. WRITE  \n"
  128.                          "kann dann gestartet und getestet werden, ohne das\n"
  129.                          "Daten auf ihre Festplatte kopiert werden. Nach   \n"
  130.                          "einem Reset ist alles wieder beim alten.         \n"
  131.                          "Ansonsten wird eine komplette Installation       \n"
  132.                          "vorgenommen...                                   ")
  133.                  (help   "")
  134.         )
  135.     ;THEN
  136.       (
  137.  
  138.         (working "Setze ENV:WRITE")
  139.  
  140.         (set @WRITE-FULL (tackon @HOME-DIR "WRITE")
  141.         )
  142.         (textfile (prompt "")
  143.                   (help   "")
  144.                   (dest   "ENV:WRITE")
  145.                   (append @WRITE-FULL)
  146.         )
  147.  
  148.         (working "Setze ENV:WRITE.CONFIG")
  149.  
  150.         (set @CONFIG-FULL (tackon @HOME-DIR "CONFIG")
  151.         )
  152.         (textfile (prompt "")
  153.                   (help   "")
  154.                   (dest   "ENV:WRITE.CONFIG")
  155.                   (append @CONFIG-FULL)
  156.         )
  157.  
  158.         (working "assign LIBS: /LIBS ADD")
  159.         (run ("assign LIBS: \"%s\" ADD" (tackon @HOME-DIR "LIBS"))
  160.         )
  161.  
  162.         (working "assign REXX: /REXX ADD")
  163.         (run ("assign REXX: \"%s\" ADD" (tackon @HOME-DIR "REXX"))
  164.         )
  165.  
  166.         (set @default-dest (tackon @HOME-DIR "WRITE")
  167.         )
  168.  
  169.         (message "\n\nDa in der WRITE-Konfiguration einige globale \n"
  170.                  "Hotkeys definiert werden, sowie einige wenige\n"
  171.                  "andere Einstellungen (->Backup) sich auf     \n"
  172.                  "eventuell nicht vorhandene Pfade beziehen,   \n"
  173.                  "kann es zu entsprechenen unerwarteten        \n"
  174.                  "Verhalten und damit verbundenen Fehler-      \n"
  175.                  "meldungen kommen.                            \n"
  176.                  "Es wird empfohlen, zum genaueren Testen auf  \n"
  177.                  "jedenfall eine dauerhafte Installation vorzu-\n"
  178.                  "nehmen und die Dokumentation ausführlich zu  \n"
  179.                  "lesen.                                       "
  180.         )
  181.  
  182.         (message "\n\nDies ist nur eine Demo-Version!!!\n\n"
  183.                   "Wollen sie sich registrieren lassen, so schreiben sie an:"
  184.         )
  185.  
  186.         (message "\n"
  187.                  "Tim Teulings                                  \n"
  188.                  "An der Dorndelle 16                           \n"
  189.                  "59192 Bergamen (Deutschland)                  \n\n"
  190.                  "MausNet: Tim Teulings @ UN                    \n"
  191.                  "InterNet: rael@edge.ping.de                   \n\n"
  192.                  "Und überweisen sie 30 DM auf folgendes Konto: \n"
  193.                  "Sparkasse Berkamen - Bönen                    \n"
  194.                  "BLZ     : 410 518 45                          \n"
  195.                  "KontoNr.: 16186496                            "
  196.         )
  197.  
  198.         (exit)
  199.       )
  200.     )
  201.   )
  202. )
  203.  
  204.  
  205. ;=============================================================================
  206. ; Installieren der garbagecollector- und write.library
  207.  
  208. (message "\nEs werden nun folgende Libraries installiert:\n"
  209.          "                                             \n"
  210.          "garbagecollector.library                     \n"
  211.          "  * Zuständig für die Speicherverwaltung     \n"
  212.          "    von WRITE.                               \n"
  213.          "                                             \n"
  214.          "write.library                                \n"
  215.          "  * Bietet einige nützliche Funktionen für   \n"
  216.          "    externe Programme.                       ")
  217.  
  218.  
  219. ;=============================================================================
  220. ; Installieren der garbagecollector.library
  221.  
  222. (copylib (prompt "Installiere die\n"
  223.                  "'GarbageCollector.library'\n"
  224.                  "nach LIBS:")
  225.          (help   "Die 'GarbageCollector.library' ist für die "
  226.                  "Funktion von 'WRITE' unbedingt nötig. "
  227.                  "Sie organisiert die Speicherverwaltung.")
  228.          (source "LIBS/garbagecollector.library")
  229.          (dest "LIBS:")
  230.          (confirm)
  231. )
  232.  
  233. ;=============================================================================
  234. ; Installieren der write.library
  235.  
  236. (copylib (prompt "Installiere die\n"
  237.                  "'write.library'\n"
  238.                  "nach LIBS:")
  239.          (help   "Die 'write.library' ist für die "
  240.                  "Funktion von 'WRITE' NICHT unbedingt nötig, wird aber "
  241.                  " z.B. vom Quickstarter benutzt und sollte deshalb "
  242.                  "auch installiert werden.")
  243.          (source "LIBS/write.library")
  244.          (dest "LIBS:")
  245.          (confirm)
  246. )
  247.  
  248. ;=============================================================================
  249. ; Installieren der hui.library
  250.  
  251. (message "\nDesweiteren werden die 'hui.library' sowie \n"
  252.          "einige externe BOOPSI-Objekte installiert: \n"
  253.          "                                           \n"
  254.          "Die hui.library ist zuständig für die font-\n"
  255.          "sensitive Oberfläche von WRITE.            \n\n"
  256.          "© scroller.gadget, get.image,              \n"
  257.          "  fuelgauge.image: Hartmut Goebel          \n\n"
  258.          "© textfile.gadget: Mark Thomas             ")
  259.  
  260.  
  261. (copylib (prompt "Installiere die\n"
  262.                  "'hui.library'\n"
  263.                  "nach LIBS:")
  264.          (help   "")
  265.          (source "LIBS/hui.library")
  266.          (dest   "LIBS:")
  267.          (confirm)
  268. )
  269.  
  270. (if
  271.   (exists "sys:classes"
  272.   )
  273. ;THEN
  274. (
  275.   (working   "Kopiere BOOPSI-Objekte nach sys:classes...")
  276.  
  277.   (copyfiles (help   @copyfiles-help)
  278.              (source "libs/gadgets/")
  279.              (dest   "SYS:classes/gadgets/")
  280.              (infos)
  281.              (all)
  282.   )
  283.  
  284.   (copyfiles (help   @copyfiles-help)
  285.              (source "libs/images/")
  286.              (dest   "SYS:classes/images/")
  287.              (infos)
  288.              (all)
  289.   )
  290. )
  291. ;ELSE
  292. (
  293.   (working   "Kopiere BOOPSI-Objekte nach nach LIBS:...")
  294.  
  295.   (makedir   "LIBS:gadgets")
  296.   (makedir   "LIBS:images")
  297.  
  298.   (copyfiles (help   @copyfiles-help)
  299.              (source "libs/gadgets/")
  300.              (dest   "LIBS:gadgets/")
  301.              (infos)
  302.              (all)
  303.   )
  304.  
  305.   (copyfiles (help   @copyfiles-help)
  306.              (source "libs/images/")
  307.              (dest   "LIBS:images/")
  308.              (infos)
  309.              (all)
  310.   )
  311. )
  312. ;END
  313. )
  314.  
  315. ;=============================================================================
  316. ; Installieren der garbagecollector Prefs
  317.  
  318. (if (askbool (prompt "\n\nSoll das Preferences-Programm\n"
  319.                      "'GarbagePrefs'\n"
  320.                      "kopiert werden?\n\n"
  321.                      "Über dieses Programm kann die GarbageCollector.library "
  322.                      "konfiguriert werden.")
  323.              (help   "Nur durch das GrabagePrefs-Programm "
  324.                      "wird die 'garbagecolletor.library' "
  325.                      "optimal konfiguriert!")
  326.     )
  327. ;THEN
  328.   (
  329.     (set @PREFS-DIR
  330.       (askdir (prompt  "Wohin soll das Preferences-Programm\n"
  331.                        "'GarbagePrefs'\n"
  332.                        "kopiert werden?")
  333.               (help    @askdir-help)
  334.               (default "SYS:Prefs")
  335.       )
  336.     )
  337.  
  338.     (set @PREFS-FULL
  339.       (tackon @PREFS-DIR "GarbagePrefs"
  340.       )
  341.     )
  342.  
  343.     (working ("Entpacke prefs/GarbagePrefs.lha nach \"%s\"" @PREFS-DIR)
  344.     )
  345.  
  346.     (run ("c/lx -m x prefs/GarbagePrefs.lha \"%s\"" @PREFS-DIR)
  347.     )
  348.  
  349.     (if (= @REINSTALL FALSE)
  350.       (
  351.  
  352.         (message "\n\n"
  353.                  "GarbagePrefs wird nun gestartet!           \n"
  354.                  "Selektieren sie das Menü 'Editieren/Werte  \n"
  355.                  "vorschlagen' und speichern sie danach ab.  \n"
  356.                  "Lesen sie später, falls sie mit der        \n"
  357.                  "Speicherbenutzung von WRITE nicht zufrieden\n"
  358.                  "sind, den Text 'GarbageCollector.LiesMich',\n"
  359.                  "um den GarbageCollector noch besser an ihr \n"
  360.                  "System anzupassen.                         ")
  361.         (run ("\"%s\"" @PREFS-FULL)
  362.         )
  363.       )
  364.     )
  365.   )
  366. ;END
  367. )
  368.  
  369. ;=============================================================================
  370. ; Installieren von WRITE
  371.  
  372. (if
  373.   (exists "ENV:WRITE"
  374.   )
  375. ;THEN
  376.   (
  377.     (set @WRITE-DIR (pathonly (getenv "WRITE") )
  378.     )
  379.   )
  380. ;ELSE
  381.   (
  382.     (set @WRITE-DIR "SYS:")
  383.   )
  384. ;END;
  385. )
  386.  
  387. (set @WRITE-DIR
  388.   (askdir (prompt  "Wohin soll 'WRITE' kopiert werden?")
  389.           (help    @askdir-help)
  390.           (default @WRITE-DIR)
  391.   )
  392. )
  393.  
  394.  
  395. (set @WRITE-FULL (tackon @WRITE-DIR "WRITE"
  396.                  )
  397. )
  398.  
  399. (copyfiles (prompt "Kopiere 'WRITE' nach:"
  400.                    @WRITE-FULL)
  401.            (help   @copyfiles-help)
  402.            (source "WRITE")
  403.            (dest   @WRITE-DIR)
  404.            (infos)
  405. )
  406.  
  407. (set @default-dest @WRITE-DIR
  408. )
  409.  
  410. ;=============================================================================
  411. ; Installieren von QuickWrite - dem Quickstarter
  412.  
  413. (if (askbool (prompt "\n\n"
  414.                      "Wollen sie auch QuickWrite, den Quickstarter\n"
  415.                      "von WRITE installiert haben?                \n\n"
  416.                      "Der Quickstarter wird aufgerufen wie WRITE  \n"
  417.                      "selber. Er stellt fest, ob WRITE bereits    \n"
  418.                      "gestartet worden ist, und startet ihn, falls\n"
  419.                      "nicht. Anschließend werden die übergebenen  \n"
  420.                      "Kommandos über den AREXX-Port an WRITE      \n"
  421.                      "weitergeleitet.                             ")
  422.              (help   "")
  423.     )
  424. ;THEN
  425.   (
  426.     (set @QS-NAME
  427.       (askstring (prompt  "\n\nWelchen Namen soll der Quickstarter erhalten?")
  428.                  (help    "")
  429.                  (default "WED")
  430.  
  431.       )
  432.     )
  433.     (set @QS-PATH
  434.       (askdir (prompt  "Wohin wollen sie den Quickstarter kopiert haben?")
  435.               (help    "")
  436.               (default @WRITE-DIR)
  437.       )
  438.     )
  439.  
  440.     (set @QS-OLD  (tackon @QS-PATH "QuickWrite"))
  441.     (set @QS-FULL (tackon @QS-PATH @QS-NAME))
  442.  
  443.  
  444.     (copyfiles (prompt "Kopiere 'QuickWrite' nach:"
  445.                        @QS-OLD)
  446.                (help   @copyfiles-help)
  447.                (source "QuickWrite")
  448.                (dest   @QS-PATH)
  449.                (infos)
  450.     )
  451.  
  452.     (rename @QS-OLD @QS-FULL)
  453.     (set @QS-OLD  (cat @QS-OLD  ".info"))
  454.     (set @QS-FULL (cat @QS-FULL ".info"))
  455.     (rename @QS-OLD @QS-FULL)
  456.  
  457.   )
  458. ;END
  459. )
  460.  
  461. ;=============================================================================
  462. ; Setzen der Umgebungsvariablen WRITE
  463.  
  464. (working "Setze ENV:WRITE")
  465. (textfile (prompt "")
  466.           (help   "")
  467.           (dest   "ENV:WRITE")
  468.           (append @WRITE-FULL)
  469. )
  470.  
  471. ;=============================================================================
  472. ; Setzen der Umgebungsvariablen WRITE für immer
  473.  
  474. (working "Setzte ENVARC:WRITE")
  475. (textfile (prompt "")
  476.           (help   "")
  477.           (dest   "ENVARC:WRITE")
  478.           (append @WRITE-FULL)
  479. )
  480.  
  481.  
  482. ;=============================================================================
  483. ; Installieren des Keyfiles
  484.  
  485. (if (exists "WRITE.KEY"
  486.     )
  487. ;THEN
  488.   (
  489.     (set @KEY-DIR
  490.       (askdir (prompt  "Wohin soll der Keyfile\n"
  491.                        "'WRITE.KEY'\n"
  492.                        "kopiert werden?")
  493.               (help    @askdir-help)
  494.               (default "s:")
  495.       )
  496.     )
  497.  
  498.     (set @KEY-FULL (tackon @KEY-DIR "WRITE.KEY"
  499.                      )
  500.     )
  501.  
  502.     (copyfiles (prompt "Kopiere 'WRITE.KEY' nach:"
  503.                        @KEY-FULL)
  504.                (help   @copyfiles-help)
  505.                (source "WRITE.KEY")
  506.                (dest   @KEY-DIR)
  507.                (infos)
  508.     )
  509.  
  510.     (textfile (prompt "Setze die Umgebungsvariablen\n"
  511.                       "'WRITE.KEY'\n"
  512.                       "Sie sagt WRITE, wo der den Keyfile finden kann. "
  513.                       "Kann der Keyfile nicht gefunden weren, "
  514.                       "oder ist er ungültig, so  werden einige Optionen "
  515.                       "nicht freigegeben.")
  516.               (help   "Tatsächlich wird der Pfad in der Datei\n"
  517.                       "'ENV:WRITE.KEY'\n"
  518.                       "abgespeichert, was die genannte Wirkung hat.")
  519.               (dest   "ENV:WRITE.KEY")
  520.               (append @KEY-FULL)
  521.     )
  522.  
  523.     (textfile (prompt "Setze die Umgebungsvariable\n"
  524.                       "'WRITE.KEY'\n"
  525.                       "auch im 'ENVARC:'-Verzeichnis, so daß auch nach einem "
  526.                       "Neustart die Umgebungsvariable gesetzt bleibt.")
  527.               (help   "Tatsächlich wird der Pfad in der Datei\n"
  528.                       "'ENVARC:WRITE.KEY'\n"
  529.                       "abgespeichert, was die genannte Wirkung hat.")
  530.               (dest   "ENVARC:WRITE.KEY")
  531.               (append @KEY-FULL)
  532.     )
  533.   )
  534. ;END
  535. )
  536.  
  537. ;=============================================================================
  538. ; Kopieren der Konfiguration
  539.  
  540. (if
  541.   (exists "ENV:WRITE.CONFIG"
  542.   )
  543.  
  544. ;THEN
  545.  (
  546.    (set @CONFIG-DIR (getenv "WRITE.CONFIG")
  547.    )
  548.  
  549.    (working ("Lösche alle alten #?.CONFIG.PP in %s" @CONFIG-DIR)
  550.    )
  551.  
  552.    (foreach @CONFIG-DIR "#?.CONFIG.PP"
  553.      (
  554.        (set @this (tackon @CONFIG-DIR @each-name))
  555.        (delete @this)
  556.      )
  557.    )
  558.  
  559.    (if (askbool (prompt "\n\n"
  560.                         "Wollen sie, daß ihre alten Konfigurationen die   \n"
  561.                         "Endung '.OLD' erhalten?                          \n\n"
  562.                         "Bachten sie, daß dieses Skript einfach alle Files\n"
  563.                         "mit der Endung '.CONFIG' unbenennt. Sollten sich \n"
  564.                         "also andere Dateien im gleichen Verzeichnis      \n"
  565.                         "befinden, könnten diese mit unbenannt werden.    ")
  566.                 (help   "")
  567.        )
  568. ;THEN
  569.      (
  570.  
  571.        (working ("Nenne alle #?.CONFIG im Verzeichnis %s in #?.CONFIG.OLD um." @CONFIG-DIR)
  572.        )
  573.  
  574.        (foreach @CONFIG-DIR "#?.CONFIG.OLD"
  575.          (
  576.            (set @this (tackon @CONFIG-DIR @each-name))
  577.            (delete @this)
  578.          )
  579.        )
  580.  
  581.        (foreach @CONFIG-DIR "#?.CONFIG"
  582.          (
  583.            (set @this (tackon @CONFIG-DIR @each-name))
  584.            (set @that (tackon @CONFIG-DIR ("%s.OLD" @each-name)))
  585.            (rename @this @that)
  586.          )
  587.        )
  588.      )
  589.    )
  590. ;END
  591.  
  592.  
  593.  
  594.  
  595.  )
  596. ;ELSE
  597.  
  598.  (set @CONFIG-DIR "S:"
  599.  )
  600.  
  601. ;END;
  602. )
  603.  
  604. (set @CONFIG-FULL (copyfiles (prompt "Welche Konfigurationsfiles sollen "
  605.                                      "kopiert werden?\n\n"
  606.                                      "Geben sie als Zielverzeichnis möglichst "
  607.                                      "ein eigenes,leeres Verzeichnis für WRITE "
  608.                                      "an!")
  609.                              (help   "Der Standardkonfigurationsfile sowie "
  610.                                      "einige Beispielkonfigurationen.")
  611.                              (source "Config")
  612.                              (dest   @CONFIG-DIR)
  613.                              (all)
  614.                              (confirm)
  615.                              (infos)
  616.                   )
  617. )
  618.  
  619. ;=============================================================================
  620. ; Setzen der Umgebungsvariablen WRITE.config
  621.  
  622. (working "Setze ENV:WRITE.CONFIG")
  623. (textfile (prompt "")
  624.           (help   "")
  625.           (dest   "ENV:WRITE.CONFIG")
  626.           (append @CONFIG-FULL)
  627. )
  628.  
  629. ;=============================================================================
  630. ; Setzen der Umgebungsvariablen WRITE.CONFIG für immer
  631.  
  632. (working "Setze ENVARC:WRITE.CONFIG")
  633. (textfile (prompt "")
  634.           (help   "")
  635.           (dest   "ENVARC:WRITE.CONFIG")
  636.           (append @CONFIG-FULL)
  637. )
  638.  
  639. ;=============================================================================
  640. ; Installieren der Default-Icons
  641.  
  642. (message   "\n\nKopiere die Deault-Icons für das App-Icon \n"
  643.            "und das Text-Icon ins Konfigurations-     \n"
  644.            "verzeichnis.                              \n\n"
  645.            "Diese können von Ihnen durch beliebige    \n"
  646.            "andere ersetzt werden. WRITE wird sich    \n"
  647.            "jedoch beschweren, wenn sie sie weglassen.")
  648.  
  649. (working   "Kopiere Icons...")
  650.  
  651. (copyfiles (help    "")
  652.            (source  "icons/")
  653.            (dest    @CONFIG-DIR)
  654.            (Pattern "WRITE_#?.info")
  655. ;           (confirm)
  656.            (infos)
  657. )
  658.  
  659. ;=============================================================================
  660. ; now copy the catalogs
  661.  
  662. (if (>= (/ (getversion "LIBS:locale.library") 65536) 38)
  663.  
  664.    (
  665.      (set lang (askoptions (prompt "Welche Sprachen sollen installiert werden?\n\n"
  666.                                    "Besitzen sie z.B. bereits eine deutschsprachige "
  667.                                    "Version von WRITE, brauchen sie nicht extra "
  668.                                    "einen Katalog installieren!")
  669.                            (help   "Eine sehr nützliche Sache:\n"
  670.                                    "'WRITE' unterstützt die 'locale.library', "
  671.                                    "welche ab OS 2.1 vorhanden ist.\n"
  672.                                    "'WRITE' kann damit in weiten Teilen "
  673.                                    "sprachlich angepasst werden!")
  674.                            (choices "english" "deutsch")
  675.                            (default 1)
  676.                )
  677.      )
  678.  
  679.      (set n 0)
  680.      (while (set language (select n "english"
  681.                                     "deutsch"
  682.                                     ""
  683.                           )
  684.             )
  685.      (
  686.          (if (IN lang n)
  687.            (
  688.              (set target (tackon "Locale:Catalogs" language)
  689.              )
  690.              (makedir target)
  691.              (copyfiles (source (cat "LOCALE/Catalogs/" language))
  692.                             (dest target)
  693.                             (all)
  694.              )
  695.            )
  696.          )
  697.          (set n (+ n 1))
  698.      ))
  699.    )
  700. )
  701.  
  702. ;=============================================================================
  703. ; Abfrage, welche Anleitungen installiert werden sollen
  704.  
  705. (set @DOKBITS
  706.         (askoptions
  707.                 (prompt "Welche Anleitungen möchten sie "
  708.                         "installiert bekommen?")
  709.                 (help   "WRITE.guide    - Die Anleitung im Amigaguide-Format.\n"
  710.                         "                 (notwendig für die Onlinehilfe!)   \n"
  711.                         "WRITE.makeinfo - Ein .makeinfo-File der Anleitung   \n"
  712.                         "                 (benötigt makeinfo/texinfo!)       \n"
  713.                         "Garbage..Mich  - Textfile über den GarbageCollector \n"
  714.                         "                 (Wichtig, unbedinngt lesen!)       ")
  715.                 (choices "WRITE.guide"
  716.                          "WRITE.makeinfo.lha"
  717.                          "GarbageCollector.LiesMich")
  718.                 (default 1)
  719.         )
  720. )
  721.  
  722.  
  723. ;=============================================================================
  724. ; Installieren von WRITE.guide
  725.  
  726. (if (IN @DOKBITS 0
  727.     )
  728. ;THEN
  729.   (
  730.     (set @GUIDE-DIR
  731.       (askdir (prompt  "Wohin soll der AmigaGuidefile\n"
  732.                        "'WRITE.guide'\n"
  733.                        "kopiert werden?")
  734.               (help    @askdir-help)
  735.               (default "HELP:deutsch")
  736.       )
  737.     )
  738.  
  739.     (set @GUIDE-FULL (tackon @GUIDE-DIR "WRITE.guide"
  740.                      )
  741.     )
  742.  
  743.     (if (exists "Docs/write.guide.lha")
  744.       (
  745.         (working ("Entpacke Docs/WRITE.guide.lha nach \"%s\"" @GUIDE-DIR)
  746.         )
  747.  
  748.         (run ("c/lx -m x Docs/WRITE.guide.lha \"%s\"" @GUIDE-DIR)
  749.         )
  750.  
  751.       )
  752. ;     ELSE
  753.       (
  754.         (copyfiles (prompt "Kopiere 'WRITE.guide' nach:"
  755.                            @GUIDE-FULL)
  756.                    (help   @copyfiles-help)
  757.                    (source "WRITE.guide")
  758.                    (dest   @GUIDE-DIR)
  759.                    (infos)
  760.         )
  761.       )
  762.     )
  763. ;   END
  764.  
  765.     (tooltype (prompt         "Setzte DefaultTool...")
  766.               (help           "Nichts Gefährliches!")
  767.               (dest           @GUIDE-FULL)
  768.               (noposition)
  769.     )
  770.  
  771.     (if (>= (/ (getversion "LIBS:locale.library") 65536) 39)
  772.  
  773.       (
  774.         (textfile (prompt "Setze die Umgebungsvariable\n"
  775.                           "'WRITE.guide'\n"
  776.                           "Sie sagt WRITE, wo der Guide-File zu finden ist. "
  777.                           "Der Guide-File wird für die interaktive Hilfe "
  778.                           "benötigt.\n"
  779.                           "Sollten sie OS 3.0 oder höher besitzen, und "
  780.                           "haben sie den Guide-File in das Verzeichnis "
  781.                           "'HELP:xxx' kopiert, braucht diese Variable "
  782.                           "nicht gesetzt werden. WRITE findet den "
  783.                           "Guide-File automatisch.")
  784.                   (help   "Tatsächlich wird der Pfad in der Datei\n"
  785.                           "'ENV:WRITE.guide'\n"
  786.                           "abgespeichert, was die genannte Wirkung hat.")
  787.                   (dest   "ENV:WRITE.guide")
  788.                   (append @GUIDE-FULL)
  789.         )
  790.  
  791.         (textfile (prompt "Setze die Umgebungsvariable\n"
  792.                           "'WRITE.guide'\n"
  793.                           "auch im ENVARC: Verzeichnis, so daß auch nach einem "
  794.                           "Neustart die Umgebungsvariable gesetzt bleibt.")
  795.                   (help   "Tatsächlich wird der Pfad in der Datei\n"
  796.                           "'ENVARC:WRITE.guide'\n"
  797.                           "abgespeichert, was die genannte Wirkung hat.")
  798.                   (dest   "ENVARC:WRITE.guide")
  799.                   (append @GUIDE-FULL)
  800.         )
  801.       )
  802.     )
  803.  
  804.   )
  805. ;END
  806. )
  807.  
  808. ;=============================================================================
  809. ; Installieren von WRITE.dvi
  810.  
  811. (if (= DEMO FALSE
  812.     )
  813. ;THEN
  814.   (
  815.  
  816.     (if (IN @DOKBITS 1
  817.         )
  818.     ;THEN
  819.       (
  820.  
  821.         (set @DVI-DIR
  822.           (askdir (prompt  "Wohin soll das Archiv mit dem makeinfo-File\n"
  823.                            "'WRITE.makeinfo.lha'\n"
  824.                            "kopiert werden?")
  825.                   (default "TEX:")
  826.                   (help    @askdir-help)
  827.           )
  828.         )
  829.  
  830.         (set @DVI-FULL (tackon @DVI-DIR "WRITE.makeinfo.lha"
  831.                        )
  832.         )
  833.  
  834.         (working ("Entpacke Docs/WRITE.makeinfo.lha nach \"%s\"" @DVI-DIR)
  835.         )
  836.  
  837.         (run ("c/lx -m x Docs/WRITE.makeinfo.lha \"%s\"" @DVI-DIR)
  838.         )
  839.  
  840.       )
  841.     ;END
  842.     )
  843.   )
  844. ;ELSE
  845.   (
  846.    (message "\n\nDer makeinfo-File liegt nur der Vollversion bei!"
  847.     )
  848.   )
  849. ;END
  850. )
  851.  
  852. ;=============================================================================
  853. ; Installieren von GarbageCollector.LiesMich
  854.  
  855. (if (IN @DOKBITS 2
  856.     )
  857. ;THEN
  858.   (
  859.  
  860.     (set @COLL-DIR
  861.       (askdir (prompt  "Wohin soll die GarbageCollector-Anleitung\n"
  862.                        "'GarbageCollector.LiesMich'\n"
  863.                        "kopiert werden?")
  864.               (default "MAN:")
  865.               (help    @askdir-help)
  866.       )
  867.     )
  868.  
  869.     (set @COLL-FULL (tackon @COLL-DIR "GarbageCollector.LiesMich"
  870.                    )
  871.     )
  872.  
  873.     (working ("Entpacke Docs/GarbageCollector.lha nach \"%s\"" @COLL-DIR)
  874.     )
  875.  
  876.     (run ("c/lx -m x Docs/GarbageCollector.lha \"%s\"" @COLL-DIR)
  877.     )
  878.  
  879.     (tooltype (prompt         "Setzte DefaultTool...")
  880.               (help           "Nichts Gefährliches!")
  881.               (dest           @COLL-FULL)
  882.               (setdefaulttool @WRITE-FULL)
  883.               (noposition)
  884.     )
  885.   )
  886. ;END
  887. )
  888.  
  889. ;=============================================================================
  890. ; Installieren der REXX-Script
  891.  
  892.  
  893. (if (AND @REINSTALL
  894.          (askbool (prompt "\n\nWollen sie ihre alten REXX-Skripts aufbewahren?")
  895.                   (help   "Ihre alten REXX-Skript werden dann umbenannt!")
  896.          )
  897.     )
  898.  
  899. ;THEN
  900.  (
  901.  
  902.    (set @REXX-VALID TRUE)
  903.  
  904.    (set @REXX-DIR
  905.      (askdir (prompt  "Wo haben sie ihre alten "
  906.                       "REXX-Sripts?")
  907.              (default "REXX:")
  908.              (help    @askdir-help)
  909.      )
  910.    )
  911.  
  912.    (working ("Lösche alle alten #?.wrx.old")
  913.    )
  914.  
  915.    (foreach @REXX-DIR "#?.wrx.old"
  916.      (
  917.        (set @this (tackon @REXX-DIR @each-name))
  918.        (delete @this)
  919.      )
  920.    )
  921.  
  922.    (working ("Nenne alle #?.wrx in #?.wrx.old um.")
  923.    )
  924.  
  925.    (foreach @REXX-DIR "#?.wrx"
  926.      (
  927.        (set @this (tackon @REXX-DIR @each-name))
  928.        (set @that (tackon @REXX-DIR ("%s.OLD" @each-name)))
  929.        (rename @this @that)
  930.      )
  931.    )
  932.  
  933.  )
  934. ;ELSE
  935.  
  936.  (set @REXX-VALID FALSE)
  937.  
  938. ;END;
  939. )
  940.  
  941. (if (= @REXX-VALID FALSE)
  942.   (
  943.     (set @REXX-DIR
  944.       (askdir (prompt  "Wohin sollen die REXX-Skripts kopiert werden?")
  945.               (default "REXX:")
  946.               (help    "Dies sind einige AREXX-Files für verschiedene Zwecke. "
  947.                        "Für mehr Information lesen sie das Kapitel 'REXX-Scripts' "
  948.                        "in der Anleitung oderh den Header der einzelnen Scripte.")
  949.       )
  950.     )
  951.   )
  952. )
  953.  
  954. (working ("Entpacke REXX-Skripts nach \"%s\"" @REXX-DIR)
  955. )
  956.  
  957. (run ("c/lx -m x REXX/REXX.lha \"%s\"" @REXX-DIR)
  958. )
  959.  
  960. ;=============================================================================
  961.  
  962. (message "\n\n"
  963.          "Lesen sie nun den Text 'Garbage-Collector.Liesmich'\n"
  964.          "sowie das Kapitel Installation in der Anleitung.   ")
  965.  
  966. (message "\n\n"
  967.          "Veränderen sie dann anschließend gegebenenfalls,\n"
  968.          "wie auch im Kapitel 'Installation' der Anleitung\n"
  969.          "beschrieben, die Tooltypes des WRITE-Icons sowie\n"
  970.          "die 'SETBACKUP' und 'SETHOTKEY'-Eintäge im File \n"
  971.          "'STARTUP.CONFIG' im Verzeichnis '" @CONFIG-FULL "'.")
  972.  
  973.  
  974. ;=============================================================================
  975.  
  976. (if (= DEMO TRUE
  977.     )
  978. ;THEN
  979.   (
  980.     (message "\n\nDies ist nur eine Demo-Version!!!\n\n"
  981.               "Wollen sie sich registrieren lassen, so schreiben sie an:")
  982.  
  983.     (message "\n"
  984.              "Tim Teulings                                  \n"
  985.              "An der Dorndelle 16                           \n"
  986.              "59192 Bergamen (Deutschland)                  \n\n"
  987.              "MausNet: Tim Teulings @ UN                    \n"
  988.              "InterNet: rael@edge.ping.de                   \n\n"
  989.              "Und überweisen sie 30 DM auf folgendes Konto: \n"
  990.              "Sparkasse Berkamen - Bönen                    \n"
  991.              "BLZ     : 410 518 45                          \n"
  992.              "KontoNr.: 16186496                            ")
  993.   )
  994. ;END
  995. )
  996.  
  997. ;=============================================================================
  998.  
  999. (message "\n\nFeddich!!!\n\n"
  1000.          "Ich wünsche ihnen viel Spaß mit dieser Version von\n\n"
  1001.          "WRITE.\n\n"
  1002.          "Tim Teulings")
  1003.